<?php

    // 指定返回的数据类型 和 编码格式 (中文utf8 进步编码 )  低版本浏览器
    @header("Content-type:text/html;charset=utf-8");


    // PHP 变量规则：
    // 变量以 $ 符号开始，后面跟着变量的名称
    // 变量名必须以字母或者下划线字符开始
    // 变量名只能包含字母 数字字符 以及 下划线（A-z、0-9 和 _ ）
    // 变量名不能包含空格
    // 变量名是区分大小写的（$y 和 $Y 是两个不同的变量）

    $a = 10;
    $b = 200;
    $Y = "YYDS";

    // echo $a, " " , $b , " " , $Y;
    // echo $a,  $b ,  $Y ,"<br>";

    // 编辑器的设置 vscode 
    // function fn1(){
    //     $a = 1000;
    //     $b =  100000;
    //     echo $a , " " , $b ,"<br>";
    // }

    // fn1();

    // 变量的作用域 
    // PHP 函数内的变量都是 局部变量   局部变量存在 就不能访问全局变量 
    //  变量作用域
    // - global   (全局作用域);
    // - local    (局部作用域);
    // - parameter  (参数作用域);
    
    // echo $a , " " , $b;
    // function fn2(){
    //     echo "wh2107 <br>";
    //     echo $a , " hello " , $b;     // 局部变量  未定义  (空值)   跟JS 是不一样的 局部无法去获取全局变量
    // }

    // fn2()

    // 如何让函数内的局部变量访问全局
    // a. 通过global 关键词  允许局部变量 访问全局变量 (等价于全局)
    // b. 借助超级全局变量 $GLOBALS  (类似js中的window) 访问全局变量

    // echo $a , " " , $b ,'<br>';
    // function fn3(){
    //     global $a, $b;  //全局变量
    //     $a = 100;   //修改的是全局变量
    //     $b = 2000;
    //     echo $a, " " , $b  ,'<br>';
    // }
    // fn3();
    // echo $a , " " , $b ,'<br>';
    
    // b. 借助超级全局变量 $GLOBALS  (类似js中的window) 访问全局变量

    echo $a , " " , $b ,'<br>';
    // print_r($GLOBALS);       // window 

    function fn3(){
        echo $GLOBALS['a']," ",$GLOBALS["b"];      // 局部变量  
    }
    fn3();
    echo $a , " " , $b ,'<br>';
?>